Registri dan LMS UniLearn tidak memuat ID mahasiswa yang sama. Tim memerlukan beberapa laporan, masing-masing dengan jawaban berbeda untuk “Baris sumber mana yang harus muncul?”
Gunakan Kembali Basis Data Lab 6
Jika Anda sudah menjalankan lab6_7_setup.sql di Lab 6, pertahankan data tersebut. Jika belum, buka file setup bersama yang diberikan tutor Anda di pgAdmin dan jalankan sekali. Pilih lab6_7 pada setiap koneksi Query Tool baru.
Mulai dengan Join yang Sudah Anda Kenal
- Periksa
studentsdanlms_roster: 22 ID registri dan 6 ID LMS. - Jalankan INNER JOIN dari aturan pencocokan Lab 6.
- Identifikasi empat ID yang ada di kedua sumber.
- Jelaskan mengapa hasil ini tidak bisa menjadi daftar lengkap dari salah satu sumber.
Lima Permintaan Laporan
Tampilkan akun bersama; pertahankan setiap mahasiswa di registri; pertahankan setiap akun LMS; rekonsiliasi kedua sumber; buat opsi mahasiswa–mata kuliah. Anda akan menulis kueri INNER, LEFT, RIGHT, FULL, dan CROSS JOIN untuk permintaan-permintaan ini.
SET search_path TO lab6_7;
SELECT s.student_id AS registry_id, s.student_name,
r.student_id AS lms_id, r.lms_name
FROM students AS s
INNER JOIN lms_roster AS r
ON s.student_id = r.student_id
ORDER BY s.student_id;Periksa ID yang cocok
Empat baris: S101, S102, S105, dan S121. Setiap ID unik di kedua tabel, sehingga setiap pasangan yang cocok muncul satu kali. Laporan ini hanya memuat akun bersama.
Uma (S121) memiliki akun LMS meskipun ia tidak punya pendaftaran mata kuliah. Kecocokan akun tidak membuktikan keikutsertaan mata kuliah.
Periksa Kedua Sumber
Daftar LMS adalah hasil impor yang belum divalidasi. Tabel ini sengaja tidak memiliki foreign key ke students, sehingga S901 dan S902 hanya dapat berada di sumber tersebut.
SET search_path TO lab6_7;
SELECT student_id, student_name
FROM students
ORDER BY student_id;
SELECT student_id, lms_name
FROM lms_roster
ORDER BY student_id;| ID LMS | Nama LMS | Ada di registri? |
|---|---|---|
| S101 | Alice Wong | Ya |
| S102 | Ben Lau | Ya |
| S105 | Emma Li | Ya |
| S121 | Uma Shah | Ya |
| S901 | Imported Visitor A | Tidak |
| S902 | Imported Visitor B | Tidak |
Setup bersama juga memuat 8 mata kuliah, 37 pendaftaran, 8 tugas, dan 30 pengumpulan tugas untuk tugas-tugas selanjutnya. Semua catatan bersifat fiktif.
Pahami Permintaan Sebelum Memilih Join
| Permintaan | Hasil yang diperlukan |
|---|---|
| Akun bersama | Hanya pasangan ID yang cocok. |
| Cakupan registri | Setiap mahasiswa di registri, bahkan tanpa akun LMS. |
| Audit impor LMS | Setiap akun LMS yang diimpor, bahkan tanpa kecocokan di registri. |
| Rekonsiliasi kedua sistem | Akun bersama dan catatan yang hanya ditemukan di salah satu sumber. |
| Perencanaan mata kuliah | Setiap mahasiswa terpilih dipasangkan dengan setiap mata kuliah terpilih. |
Lab 6 telah menjelaskan bagaimana pasangan yang cocok membentuk baris. Di lab ini, ubah jenis join untuk mengendalikan baris yang tidak cocok atau menghasilkan semua kombinasi, lalu periksa apa yang diwakili setiap baris hasil.